package com.sophossystems.client.asmon.dao;

import com.sophossystems.client.asmon.dao.ClientePersonasFisicasDao;
import com.sophossystems.client.asmon.dto.ClientePersonasFisicasDTO;
import com.sophossystems.client.asmon.dto.ClientePersonasFisicasPkDTO;
import com.sophossystems.client.asmon.exceptions.DaoException;
import java.util.List;

public interface ClientePersonasFisicasDao
{
	/**
	 * Method 'insert'
	 * 
	 * @param dto
	 * @return ClientePersonasFisicasPk
	 */
	public ClientePersonasFisicasPkDTO insert( final
			ClientePersonasFisicasDTO dto);

	/** 
	 * Updates a single row in the CLIENTE_PERSONAS_FISICAS table.
	 */
	public void update(final  ClientePersonasFisicasDTO dto) throws DaoException;

	/** 
	 * Deletes a single row in the CLIENTE_PERSONAS_FISICAS table.
	 */
	public void delete(final ClientePersonasFisicasPkDTO pk) throws DaoException;

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'id_cliente = :idCliente'.
	 */
	public List<ClientePersonasFisicasDTO> findByPrimaryKey(final int idCliente) throws DaoException;

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria ''.
	 */
	public List<ClientePersonasFisicasDTO> findAll() throws DaoException;

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'id_cliente = :idCliente'.
	 */
	public List<ClientePersonasFisicasDTO> findWhereIdClienteEquals(final int idCliente) throws DaoException;

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'aPaterno = :apaterno'.
	 
	public List<ClientePersonasFisicasDTO> findWhereApaternoEquals(String apaterno) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'aMaterno = :amaterno'.
	 
	public List<ClientePersonasFisicasDTO> findWhereAmaternoEquals(String amaterno) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'nombres = :nombres'.
	 
	public List<ClientePersonasFisicasDTO> findWhereNombresEquals(String nombres) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'sexo = :sexo'.
	 
	public List<ClientePersonasFisicasDTO> findWhereSexoEquals(String sexo) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'fNacimiento = :fnacimiento'.
	 
	public List<ClientePersonasFisicasDTO> findWhereFnacimientoEquals(Date fnacimiento) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'fInicioActividad = :finicioactividad'.
	 
	public List<ClientePersonasFisicasDTO> findWhereFinicioactividadEquals(Date finicioactividad) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'rfc = :rfc'.
	 
	public List<ClientePersonasFisicasDTO> findWhereRfcEquals(String rfc) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'curp = :curp'.
	 
	public List<ClientePersonasFisicasDTO> findWhereCurpEquals(String curp) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'email = :email'.
	 
	public List<ClientePersonasFisicasDTO> findWhereEmailEquals(String email) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'tel1 = :tel1'.
	 
	public List<ClientePersonasFisicasDTO> findWhereTel1Equals(String tel1) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'ext1 = :ext1'.
	 
	public List<ClientePersonasFisicasDTO> findWhereExt1Equals(String ext1) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'tel2 = :tel2'.
	 
	public List<ClientePersonasFisicasDTO> findWhereTel2Equals(String tel2) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'ext2 = :ext2'.
	 
	public List<ClientePersonasFisicasDTO> findWhereExt2Equals(String ext2) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'tipoRegimen = :tipoRegimen'.
	 
	public List<ClientePersonasFisicasDTO> findWhereTipoRegimenEquals(String tipoRegimen) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'tipoActividad = :tipoActividad'.
	 
	public List<ClientePersonasFisicasDTO> findWhereTipoActividadEquals(String tipoActividad) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'antecedentes = :antecedentes'.
	 
	public List<ClientePersonasFisicasDTO> findWhereAntecedentesEquals(String antecedentes) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_PERSONAS_FISICAS table that match the criteria 'recomienda = :recomienda'.
	 
	public List<ClientePersonasFisicasDTO> findWhereRecomiendaEquals(String recomienda) throws DaoException;*/

	/** 
	 * Returns the rows from the CLIENTE_PERSONAS_FISICAS table that matches the specified primary-key value.
	 
	public ClientePersonasFisicasDTO findByPrimaryKey(ClientePersonasFisicasPkDTO pk) throws DaoException;*/

	public ClientePersonasFisicasPkDTO findLastInsert() throws DaoException;
	
	//RMN
	
	public ClientePersonasFisicasDTO findByIdClienteGeneral(final int idClienteGeneral) throws DaoException;
	
	public List<ClientePersonasFisicasDTO> busquedaPorPalabra(final String palabra) throws DaoException;
	
}
